package behavioral.interpreter;

/**
 * 循环类，他是一个非终结符表达式，他的内容包含了一个动作列表类，能够重复执行多个指令
 */
public class RepectNode extends AbstractNode {

    private int m_iCount;
    private ActionListNode m_pActionListNode;

    public RepectNode(Context context) {
        this.m_iCount = Integer.valueOf(context.nextToken());
        this.m_pActionListNode = new ActionListNode(context);
    }

    @Override
    void interpreter(Context context) {
        for (int i = 0; i < m_iCount; i++) {
            this.m_pActionListNode.interpreter(context);
        }
    }
}
